// 文章发表数据表模型

const moment = require('moment')

module.exports = (sequelize, DataTypes) => {
  return sequelize.define('article', {
    createdAt: {
      type: DataTypes.DATE,
      get () {
        return moment(this.getDataValue('createdAt')).format('YYYY-MM-DD HH:mm:ss')
      }
    },
    // 更新时间
    updatedAt: {
      type: DataTypes.DATE,
      get () {
        return moment(this.getDataValue('updatedAt')).format('YYYY-MM-DD HH:mm:ss')
      }
    },
    id: { // 发表人Id
      type: DataTypes.INTEGER,
      autoIncrement: true,
      primaryKey: true
    },
    username: { // 发表人的姓名
      type: DataTypes.STRING,
      allowNull: false,
      primaryKey: true
    },
    content: { // 发表文章时的内容
      type: DataTypes.STRING,
      allowNull: true,
      field: '说一段你想说的话吧...'
    },
    author: { // 句子作者
      type: DataTypes.STRING,
      allowNull: true
    },
    tag: { // 所属tag标签
      type: String,
      allowNull: true,
      field: '励志'
    },
    image: { // 发表文章时的图片
      type: DataTypes.STRING,
      allowNull: true
    },
    isPrivate: { // 是原创则可以设置隐私性
      type: DataTypes.BOOLEAN,
      allowNull: true
    }
  },
  {
    // 如果为true，则表的名称和model相同，否则 mysql创建表的名称为复数
    freezeTableName: true
  })
}
